package compiler.emiter.expressiontypes;

import java.util.ArrayList;

public class FunctionType extends Type {
  
  public final static String PUBLIC_MOD = "public";
  public final static String PRIVATE_MOD = "private";
  
  public final String mod;
  public final String name;
  public final ArrayList<Type> argTypes;
  public final Type retType;
  
  public FunctionType(final String mod,
      final String name,
      final ArrayList<Type> argTypes, 
      final Type retType) {
    
    super(false,0);
    this.mod = mod;
    this.name = name;
    this.argTypes = argTypes;
    this.retType = retType;
  }  
  
  public FunctionType copy() {
    return new FunctionType(this.mod, this.name, this.argTypes, this.retType);
  }
}
